// /**
//  * v-scrollauto
//  * 滚动自定义指令
//  */
// import type { Directive, DirectiveBinding } from "vue";

// const scrollauto: Directive = {
//   mounted(el, binding: DirectiveBinding, vnode) {
//     function handleScroll(e) {
//       const isBottom = e.target.clientHeight + e.target.scrollTop >= e.target.scrollHeight - 40
//       if (isBottom && !vnode.context.loading) {
//         binding.value()
//       }
//     }
//    // 监听滚动
//    const wrapDom = el.querySelector('.el-autocomplete-suggestion__wrap')
//    el.__handleScroll__ = handleScroll
//    el.__wrapDom__ = wrapDom
//    wrapDom.addEventListener('scroll', handleScroll, false)
//   },
//   beforeUnmount(el) {
//     el.removeEventListener("scroll", el.__handleScroll__);
//   }
// };

// // function handleScroll(e) {
// //   let isBottom = e.target.clientHeight + e.target.scrollTop >= e.target.scrollHeight - 40
// //   if (isBottom && !vnode.context.loading) {
// //     binding.value()
// //   }
// // }


// export default scrollauto;
// import { Directive, DirectiveBinding } from 'vue';

// const scrollAuto: Directive = {
//   mounted(el: HTMLElement, binding: DirectiveBinding, vnode) {
//     const handleScroll = (e: Event) => {
//       const isBottom = (e.target as HTMLElement).clientHeight + (e.target as HTMLElement).scrollTop >= (e.target as HTMLElement).scrollHeight - 10;
//       if (isBottom && !binding.instance?.$data.loading) {
//         binding.value?.();
//       }
//     };

//     // 确保选择器能正确找到目标元素
//     const wrapDom = el.querySelector('.el-autocomplete-suggestion__wrap');
//     if (wrapDom) {
//       wrapDom.addEventListener('scroll', handleScroll, false);
//       // 虽然不推荐，但为了保持与原代码一致，这里仍然挂在到元素上
//       el.__handleScroll__ = handleScroll;
//     } else {
//       console.warn('Element with class .el-autocomplete-suggestion__wrap not found.');
//     }
//   },
//   beforeUnmount(el) {
//     const scrollHandler = el.__handleScroll__;
//     if (scrollHandler && el.__wrapDom__) {
//       el.__wrapDom__.removeEventListener('scroll', scrollHandler, false);
//     }
//   },
// };

// export default scrollAuto;